home *** CD-ROM | disk | FTP | other *** search
- Development history of FDXMS:
-
- Version 0.92.Oranges - 2003-07-10 - Martin Strömberg
-
- - VDISK detection in check_vdisk corrected by Lixing Yuan.
- - Only call check_vdisk at installation time by Lixing Yuan.
- (Evidently those two corrections to VDISK handling make SMARTDRV work
- with FDXMS.)
-
-
- Version 0.91.Apples - 2003-02-08 - Martin Strömberg
-
- - FDXMS now only warns if it can't disable the A20 line instead of
- refusing to load (bug 1352).
- - INT15 parameter added.
-
-
- What's up with the version numbers this time? This time they are a
- tribute to SF writer Samuel R. Delany, <http://www.pcc.com/~jay/delany/>.
- He has written a book called Stars in My Pocket like Grains of Sand
- which is an amazing piece of work. But if you want to try his works, I
- suggest you try some of his lighter works (sentences spanning more
- than a page can be tiresome) like Babel-17 or the Neveryona series.
-
-
- Version 0.9.Sand - 2002-03-02 - Martin Strömberg
-
- - Squeezed out some more bytes by rearranging xms_free_xms.
- - Squeezed out some more bytes in trace version by substituting test
- with bt in xms_dispatcher.
- - Squeezed out some more bytes in validation of AH in xms_dispatcher.
- - Corrected not recognising the BIOS switch in the non-TRACE versions
- (bug 880).
- - Corrected 386 detection by Ralf Quint and me.
- - Maximum XMS memory is 0xfcb0 KiB, not 0xffff KiB. Changed code to
- reflect this. (Note that maximum XXMS memory is much larger.)
- - Use smsw instead of mov cr0 to detect protected mode.
- - Now fdxxms.sys has been tested with 512MiB.
- - Added PS parameter that modifies the A20 line switching code so
- FDXMS works on PS/2 Model 30 (and perhaps other PS models)
- (bug 753).
- - Added GEODE parameter that modifies the delay routine so FDXMS works
- on National Semiconductor's Geode GX1 200MiHz processors (bug
- 886).
- - Added DELAY parameter and using it in enable_a20 and disable_a20
- (bug 1038).
- - Changed a lot of "or reg1, reg1" to "test reg1, reg1".
- - Removed BIOS_FLAG from the flags variable and added insertion of
- near jmp to do_bios_move if the BIOS parameter was given.
-
-
- Version 0.8.Grains - 2001-07-29 - Martin Strömberg
-
- - xms_move_xms: add illegal ovelap check in BIOS path.
- - Added a flags byte.
- - Made the bios variable a bit in the flags variable.
- - Made the initialized variable a bit in the flags variable.
- - Really only initialise once by looking at said bit.
- - Corrected my erroneous correction of xms_query_free_xms (RBIL is a
- little confusing here).
- - Minor adjustments to XMStest.c.
- - Corrected xms_query_free_xms which didn't return BL == 0xa if all
- XMS memory is allocated.
- - Corrected xms_get_move_addr which could be fooled by large offsets
- or sizes while verifying length was valid.
- - Proper copyrights added to cptest.c
- - Optimised away the redundant variable xms_size.
- - Added printout of how much XMS memory that was found.
- - Added an XXMS version (fdxxms.sys) supporting 4GB (4GiB untested,
- but up to 384MiB tested).
- - Decreased size by using a register instead of immediate in
- xms_free_xms and xms_dispatcher.
- - Made XMStest use a better seed for more randomness.
- - Watch out for AX=0xe801 in INT15 handler.
- - Properly clear the carry flag in INT15 handler on success.
-
-
- Version 0.7.Pocket - 2001-07-10 - Martin Strömberg
-
- - Correct lookup of variable 'bios'. I inadvertently happened to use
- the bios without the BIOS argument (cs: override was missing).
- - Added a call to INT15 AX=0xe801 to detect more memory.
- - Merged lock and used bytes, so bookkeeping size is now down to five.
- - Simplified and corrected xms_query_free_xms.
- - Move some of the initialisation of the handle table to initialize in
- preparation of adding the call to INT15 AX=0xe820.
- - Increased minimum number of handles to two due to the above change.
- - XMS test program by Tom Ehlert. I include the .EXE file for test
- purposes unitl FDXMS is ready for prime time. Minor
- improvements by me.
- - xms_move_xms without BIOS argument didn't work right for lengths not
- evenly divisible by four (i. e. 2, 6, 10, ...) if source
- address was below destination address.
-
-
- Version 0.6.Stars - 2001-07-05 - Martin Strömberg
-
- - Correction of merging code by Tom Ehlert.
- - Keep lock counter indicating lock in case of lock overflow by Tom
- Ehlert. Hopefully corrected now. I messed up Tom's earlier
- correction.
- - Restore a20 state in xms_move_xms in case of failure.
- - Don't uneccessarily enable a20 if it's already is enabled in
- xms_move_xms.
- - Improved address moving verification which could be tricked with big
- offsets in conventional ram by Tom Ehlert.
- - Now possible to allocate 0 sized EMB if there are handles available
- (but no memory).
- - Minor updates to invalid NUMHANDLES option argument strings.
- - Now you can install FDXMS.SYS in a directory called FDXMS.SYS.
- - Handle ovelapping moves correctly. I'm not sure if BIOS does handle
- overlapping moves correctly though. Feedback wanted!
- - Skip move altogether if move length is 0 by Tom Ehlert.
- - Skip move altogether if src == dest by Tom Ehlert.
-
-
- What's up with the version numbers? They are a tribute to Dead Can
- Dance <http://www.evo.org/html/group/deadcandance.html>, a superb
- music group. Their third album is called "Within the Realm of a Dying
- Sun" which was the first piece I heard by them. Check it out some
- time.
-
-
- Version 0.5.Sun - 2001-06-13 - Martin Strömberg
-
- - The TRACE_SEPERATOR argument was never implemented. Ooops! Don't go
- looking for it.
- - Coalesce xms_realloc_umb, xms_reqest_umb and xms_release_umb into
- one block to save memory by Tom Ehlert.
- - Keep lock counter indicating lock in case of lock overflow by Tom
- Ehlert.
- - Now possible to compile in the trace code conditionally.
- - Detection of end of command line in DOZE corrected.
- - Inserted P8086 and P386 at strategic places so that it ought to fail
- gracefully on a processor earlier than 386.
- - Check the size of moves to/from XMS. Idea from Tom Ehlert.
- - Report interface version as 2.0, which it is as XXMS is not
- implemented, from Tom Ehlert.
- - Report driver version properly from Tom Ehlert.
- - Protect bios_gdt from reentrancy properly by Tom Ehlert.
- - Only copy 0x1000 words using BIOS call without enabling interrupts
- by Tom Ehlert.
- - Debug option IFDEFed out for now.
- - Check the size of moves to/from conventional RAM.
-
-
- Version 0.4.Dying - 2001-05-13 - Martin Strömberg
-
- - NOTE: The license has been changed to GPL version 2
-
- - Using ax for jump to the proper function; thus no need to pop bx in
- all functions anymore.
- - Localized most local labels.
- - Command line arguments handling added.
- - TRACE argument added.
- - DEBUG argument added. Doesn't do anything though.
- - NUMHANDLES argument added.
- - Improved merging of adjacent free blocks by Tom Ehlert.
- - Made to work in protected mode environment (e. g. SICE) by calling
- the BIOS by Tom Ehlert.
- - Removed limit of 16MiB in protected mode environment.
- - BIOS argument added to always use the BIOS.
- - Should be able to handle more than 32MiB now by Tom Ehlert.
-
-
- Version 0.3.Realm - 2001-04-21 - Martin Strömberg
-
- - Validation of handle procedure added: handle_valid.
- - Use of handle_valid added to functions 0xa, 0xb, 0xc, 0xd and 0xf
- - Don't push _all_ registers in xms_move_xms.
- - Change XMS_NO_UMB_AVAILABLE to XMS_NOT_IMPLEMTED in xms_request_umb
- by Bart Oldeman.
-
-
- Version 0.2.Within - 2001-04-15 - Martin Strömberg
-
- - Corrected function 0xe.
-
-
- Version 0.11 - 2001-01-?? - Louis P. Santillan
-
- - Correction of A20 switch code.
-
-
- Version 0.1 - 10/11.95
-
- - initial version, uploaded for testing
- - still about 400 bytes bigger than HIMEM :(
- - poor feedback until now...
- - works with a lot of software, but Watcom Help doesn't work when run with
- Norton Cache of Norton Utilities 8.0
-